package ma.katrav.web.service;

import java.util.Date;
import java.util.List;

import ma.katrav.oxm.model.Compte;
import ma.katrav.oxm.model.Virement;
import ma.katrav.ws.oxm.model.Retrait;

//@Remote
public interface CompteService {

	/**
	 * Gestion des Comptes 
	 */
	public String addCompte(Compte compte);
	
	public void removeCompte(String codeCompte);
	
	public String updateCompte(String codeCompte, Compte compte);
	
	public Compte getCompteById(long compteId);
	
	public Compte getCompteByCode(String codeCompte);
	
	public Compte getCompteByIntitule(String intitule);
	
	public List<Compte> getListCompte();
	
	public List<Compte> getListCompteByIntitule(String intitule);
	
	/**
	 * Gestion des Virement
	 */
	public void addVirement(Virement virement);
	
	public void removeVirement(long virementId);
	
	public Virement getVirementById(long virementId);
	
	public List<Virement> getVirementByCodeCompte(String codeCompte);
	
	public List<Virement> getVirementBetweenDate(Date dateD,Date datef);
	
	/**
	 * Gestion des retrait
	 */
	public void addRetrait(Retrait retrait);
	
	public void removeRetrait(long retraitId);
	
	public Retrait getRetraitById(long retraitId);
	
	public List<Retrait> getRetraitByCodeCompte(String codeCompte);
	
	public List<Retrait> getRetraitBetweenDate(Date dateD,Date datef);
}
